package com.crm.service.couponManager;

import com.crm.model.entity.couponManager.Coupon;
import com.crm.model.qo.couponManager.CouponQO;
import com.crm.model.vo.couponManager.CouponVO;

import java.util.List;

/**
 * @Author:chaifuyou
 * @Date: 2021/5/11 15:54
 */
public interface CouponDbService {

    /**
     * 优惠券分页列表
     * @param couponQO
     * @param order
     * @return
     */
    List<CouponVO> selectFollowPlanList(CouponQO couponQO, String order);

    /**
     * 新增优惠券
     * @param coupon
     */
    void addCoupon(Coupon coupon);

    /**
     * 修改优惠券信息
     * @param coupon
     */
    void updateCoupon(Coupon coupon);

    /**
     * 根据优惠券id、名称查重
     * @param chsCustomerCouponId
     * @param couponName
     * @return
     */
    Integer selectCountByNameAndId(String chsCustomerCouponId, String couponName);

    List<CouponVO> selectAvailableCouponPageList(CouponQO couponQO);

    Coupon selectCouponById(String couponId);

    /**
     * 筛选列表中的优惠券
     * @param couponIdList 优惠券id列表
     * @return
     */
    List<Coupon> selectCouponsByIdList(List<String> couponIdList);

    List<CouponVO> availableCouponList(CouponQO couponQO);
}
